﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows;
using QuickGraph;
using RWLibrary.Logic.Graph;

namespace RWGUI.Model
{
    public class GuiEdge : Edge<Node>, INotifyPropertyChanged 
    {
        public GuiEdge(Node source, Node target):base(source,target)
        {
            _description = string.Empty;
            _visibility  = Visibility.Visible;
        }

        private string _description;

        public string ID
        {
            get { return _description; }
            set
            {
                _description = value;
                NotifyPropertyChanged("ID");
            }
        }



        private Visibility _visibility;
        public Visibility Visibility
        {
            get { return _visibility; }
            set
            {
                _visibility = value;
                NotifyPropertyChanged("VisibleID");
            }
        }

        public bool IsDoubled { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;
        void NotifyPropertyChanged(string name)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));

        }
    }
}
